Skip to main content

클라우드 다운로드 문서변환 기능

info

클라우드 저장소(OneDrive, SharePoint, Teams)에서 다운로드 받은 문서에 대한 변환 기능을 수행합니다.

  • 변환 방식에 대한 정의는 Ztcap 정책에 따릅니다.

1.개요

  • 클라우드 저장소(OneDrive, SharePoint, Teams)에서 다운로드 받은 문서에 대한 변환 기능을 제공합니다.
  • 변환에 대한 정책은 Ztcap 정책에 따릅니다.

2. 관련 모듈

파일명경로버전설명빌드 경로
SCRA_DS365Shell.dllC:\Windows\Softcamp\sdk6.0.0.16탐색기, 브라우저, TeamsApp 훅모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS6.0_VS2019(ZTCA_AIP)|
SCRA_DS365Shell64.dllC:\Windows\Softcamp\sdk6.0.0.16탐색기, 브라우저, TeamsApp 훅모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS6.0_VS2019(ZTCA_AIP)|
SCPD_DS365.dllC:\Windows\Softcamp\sdk\scsa6.0.2.17문서보안 이벤트 모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS6.0_VS2019(ZTCA_AIP)|
SCPD_DS36564.dllC:\Windows\Softcamp\sdk\scsa6.0.2.17문서보안 이벤트 모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS6.0_VS2019(ZTCA_AIP)|
DS365Lib64.dllC:\Windows\Softcamp\Security365\DS365\x646.1.16.8Mip 관련 DS모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS6.0_VS2019(ZTCA_AIP)|
DSEDCon.dllC:\Windows\Softcamp\SDS6.0.0.7문서보안 전역모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSEDCon64.dllC:\Windows\Softcamp\SDS\x646.0.0.7문서보안 전역모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
SCTL_ZipMngr.dllC:\Windows\Softcamp\SDS6.0.0.4문서보안 Zip압축 유틸모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
SCTL_ZipMngr64.dllC:\Windows\Softcamp\SDS6.0.0.4문서보안 Zip압축 유틸모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
SDSEnc.exeC:\Windows\Softcamp\SDS6.0.0.3문서보안 보안문서 모듈\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResChn.iniC:\Windows\Softcamp\SDS6.0.0.3다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResCht.iniC:\Windows\Softcamp\SDS6.0.0.3다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResCze.iniC:\Windows\Softcamp\SDS6.0.0.3다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResDeu.iniC:\Windows\Softcamp\SDS6.0.0.3다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResEng.iniC:\Windows\Softcamp\SDS6.0.0.4다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResFra.iniC:\Windows\Softcamp\SDS6.0.0.3다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResJpn.iniC:\Windows\Softcamp\SDS6.0.0.4다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResKor.iniC:\Windows\Softcamp\SDS6.0.0.6다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|
DSResRus.iniC:\Windows\Softcamp\SDS6.0.0.4다국어 리소스\sctfsbuild.softcamp.co.kr\AzureBuild\2025\DS_vs2019|

3. 관련 커스텀 정책

IDHOOK_LOAD_DYNAMIC 정책설명링크
TYPEEDIT
정책값 형식모듈명1;x64(0) or x86(1);로드할프로세스명
설명DSEDCon을 통해 로드할 모듈 설정
이 기능에서는 TeamsApp에 SCRA_DS365Shell 훅모듈을 로드하기위해 사용
정책 값SCRA_DS365Shell.dll;1;msedgewebview2.exe

4. Ztcap 정책 관련

4-1 기능 동작시 Endpoint에서 ztcap으로 질의되는 decisionFactors 예시

// 단일 문서(docx Aip문서) 다운로드시 문서에 대한 질의 json
{
"decisionFactors": [
{
"category": "document",
"target": {
"info": {
"ext": "docx",
"zoneIdentifier": "https://softcamp-my.sharepoint.com/personal/jaekwon_lee_softcamp_co_kr/_layouts/15/download.aspx?UniqueId=ed4e27ad%2Dda48%2D476b%2Da99a%2Dd517a54ad6db"
},
"type": "mip"
}
},
{
"category": "storage",
"target": {
"info": {
"folder": "%USERS%\\Downloads"
},
"type": "local"
}
},
{
"category": "fileEvent",
"target": {
"info": {
"event": "DownloadFile_FromCloud"
},
"type": "local"
}
}
]
}

// 여러문서 선택시 Zip파일에 대한 질의 json
{
"decisionFactors": [
{
"category": "document",
"target": {
"info": {
"ext": "zip",
...
"zoneIdentifier": "https://japaneast1-mediap.svc.ms/transform/zip?cs=fFNQTw"
},
"type": "zipArchive"
}
},
{
"category": "storage",
"target": {
"info": {
"folder": "%USERS%\\Downloads"
},
"type": "local"
}
},
{
"category": "fileEvent",
"target": {
"info": {
"event": "DownloadFile_FromCloud"
},
"type": "local"
}
}
]
}

4-2 ztcap 정책 설정시 주의 사항

⚠️정책 설정시 아래사항이 반드시 고려되어 Ztcap 정책이 설정되어야 기능이 동작합니다.

  • 기본적으로 다음의 두가지 정책을 설정하여야 해당 기능이 정상적으로 동작합니다.
    • 단일 문서에 대한 변환 정책
    • 여러문서를 선택하여 다운로드되는 Zip파일의 대한 정책
  • 2가지 정책 모두 decisionFactors중 category가 document인 json객체의 target.info.zoneIdentifier의 정책 설정이 필요합니다.
    • decisionFactors중 category가 document인 json객체의 target.info.zoneIdentifier 의 정책값은 다운로드시 다운로드문서에 입력되는 ZoneIdentifier Url을 포함 할 수 있는 값이 설정되어야함.
    • Ex ) 다운로드 받은 문서의 Url이 https://japaneast1-mediap.svc.ms/transform/zip?cs=fFNQTw 라 가정할때 Ztcap 정책에 설정되야하는 ZoneIdentifier 값은 "*mediap.svc.ms/transform/zip*" 과 같이 Url의 일부분 앞뒤로 와일드카드(*)를 붙여 설정함.
  • decisionFactors중 category가 document인 json객체의 target.type 의 정책값은 "ds"가 들어가는 것을 권장하지 않음 ( 클라우드에 DRM 문서가 있다는 가정인데 이 기능은 기본적으로 클라우드의 일반 문서 및 mip문서를 DRM 문서로 변환하기 위한 기능 )
  • decisionFactors중 category가 fileEvent인 json객체의 target.info.event는 반드시 "DownloadFile_FromCloud" 값으로 설정 ( Ztcap 콘솔 정책에는 현재 미지원 )

4-3 ztcap 정책 설정시 기본 포함 정책

info

클라우드 저장소(OneDrive, SharePoint, Teams)에서 문서 다운로드 시 문서 Zone.identifier에 들어간 URL 정보가 기본적으로 ztcap 정책에 포함되어야하며, 차후 고객사나 클라우드쪽 변경사항에 따라 URL 정책의 추가가 필요할 수 있습니다.

  • ztcap 정책의 아래의 URL 값이 정책으로 포함되어야합니다.
    • *mediap.svc.ms/transform/zip*
    • *sharepoint.com*
    • *microsoftonline.com*

5. 적용 방법

  1. 모듈 패치
  2. Ztcap 정책 설정 ( 4. Ztcap 정책 관련 항목 적용 필수 )
  3. 커스텀 정책 설정

6. 제약사항

  1. OneDrive, SharePoint, Teams 이외의 클라우드 스토리지는 현재 미지원
  2. 훅 방식으로 다운로드 시점을 잡아 개발된 기능이라 아래 지원 버전 외의 브라우저나 그 이상의 브라우저에서 zoneidentifier 정보를 write하는 로직이 변경시 기능 동작이 되지 않을 수 있습니다.
프로그램버전
Msedgeimg
Chromeimg
TeamsAppimg

7. Troubleshooting

⚠️기능 미 동작시 아래와 같은 사항을 확인하여 어떤 사항에 해당하는지 확인필요

  1. TeamsApp에서 미동작시
    • Process Explorer등의 툴로 TeamsApp 하위 프로세스 msedgewebview2.exe에 SCRA_DS365Shell.dll이나 SCRA_DS365Shell64.dll 모듈이 로드되어있는지 확인
    • 로드가 되어 있지 않은 경우 DSEDCon 버전 확인 및 커스텀 정책 적용 여부 확인
  2. 브라우저에서 미동작시
    • Process Explorer등의 툴로 브라우저 프로세스 msedgewebview2.exe에 SCRA_DS365Shell.dll이나 SCRA_DS365Shell64.dll 모듈이 로드되어있는지 확인
    • 로드가 되어 있지 않은 경우 SCRA_DS365Shell.dll 과 SCRA_DS365Shell64.dll 의 심플애드인 등록이 누락되어있는지 여부 확인 필요함.
  3. 공통
    • SCRA_DS365Shell.dll가 정상적으로 로드되어있는 경우 다운로드 동작시 SDSMonitor 로그에 '[SCRA_DS365Shell64] Hooked_WritePrivateProfileStringW:526 L"[INFO] 조건 충족"' 이 수집되는지 확인
    • SDSMonitor 로그 수집 시 로그에 [SCPD_DS365] GetZtcaPolicy:888 strLog.c_str() : '{"code":1621,"message":"Conditional policies does not exist that match the conditions"}' 와 같은 로그가 수집되는 경우 ztcap 정책 설정 오류이므로 ztcap 정책을 다시 확인필요
    • 해당 로그가 없거나 수집이 되어도 동작이 안될 경우 SDSMonitor 로그를 수집하여 개발자에게 전달